package com.palominocia.capa_datos_nodo.servicios;

import javax.jws.WebParam;
import javax.jws.WebParam.Mode;
import javax.jws.WebService;

import com.palominocia.capa_datos_nodo.servicios.salida.RespuestaFinal;
import com.palominocia.capa_datos_nodo.servicios.salida.RespuestaProcesarTokenPassword;
import com.palominocia.capa_datos_nodo.servicios.salida.RespuestaRegistraUsuario;
import com.palominocia.capa_datos_nodo.servicios.salida.RespuestaSolicitudReset;
@WebService
public interface NodoPublico {
	//Para el registro de nuevos usuarios
	public RespuestaRegistraUsuario registraUsuario(
			@WebParam(name = "Username", partName = "parameters", mode = Mode.IN, header = false) String Username,
			@WebParam(name = "Password", partName = "parameters", mode = Mode.IN, header = false) String Password,
			@WebParam(name = "Email", partName = "parameters", mode = Mode.IN, header = false) String Email
			);
	//Para resetear el password de un usuario
	public RespuestaSolicitudReset	solicitaresetPassword(@WebParam(name = "Username", partName = "parameters", mode = Mode.IN, header = false) String Username,
			@WebParam(name = "Email", partName = "parameters", mode = Mode.IN, header = false) String Email);
	//Valida el token resultante de solicitaresetPassword
	public RespuestaFinal validarToken(
			@WebParam(name = "Token", partName = "parameters", mode = Mode.IN, header = false) String Token
			);
	//Modifica la contraseña bajo solicitud de reset
	public RespuestaProcesarTokenPassword procesarTokenPassword(
			@WebParam(name = "Token", partName = "parameters", mode = Mode.IN, header = false) String Token,
			@WebParam(name = "Password", partName = "parameters", mode = Mode.IN, header = false) String Password
			);
	
}
